Color is defined as the perceptual result of light in the visible region of the spectrum. The human retina has three types of color photoreceptor cells for illumination therefore it is possible to define color using only three numerical components.
The Commission Internationale de L'Éclairage (CIE) created a standardized system for representing color illuminations using three numerical components to represent the mathematical coordinates of color space. The colors produced by reflective systems are a function not only of the colorants but also of the ambient illumination that requires further spectral matching. The most familiar color systems include CIE XYZ, CIE xyY, CIE L*u*v* and CIE L*a*b*.
The CIE system is based on the description of color as luminance component Y and spectral weighting curves components X and Z. The spectral weighting curves for X and Z were standardized by the CIE based on statistics from experiments involving human observers. The magnitudes of the XYZ components are proportional to physical energy, but their spectral composition corresponds to the color matching characteristics of human vision.
Most devices employ a device-dependent color-coordinate system to specify the colors, and there are several different systems in the market. The coordinate system is defined in a color space that maps the color coordinates to the color mechanism used by the device. Color space refers to an N-dimensional space in which each point in the space corresponds to a color. The cyan (C), magenta (M), yellow (Y) and black (K) (CMYK) color space is commonly used for color printers, where each point in the CMYK color space corresponds to a color produced using a formula for the CMYK colorants. The color space could be represented solely by CMY, but black is added as a colorant for print matter for several reasons. Printing black by overlaying cyan, yellow and magenta ink is expensive and time-consuming, and the edges of the lettering tend to blur. The printing of three ink layers to produce black also causes the printed paper to become wet requiring more time to dry.
The red, green and blue (RGB) system is a color space system that is complementary to the CMYK color space. The RGB system is a three-dimensional color space wherein each point in the color space is formed by some combination of RGB colorants. The RGB system is typically used for computer monitors, TV screens and scanners—illuminating devices.
The term color gamut is used to refer to a range of colors that can be produced within a color space by a particular device from a set of colorants. The color gamut of a device corresponds to the visible colors that can possibly be produced by the device.
A digitized color image is represented as an array of pixels, wherein each pixel contains numerical components that define a color. The three components are required to represent an image, and printing necessitates a fourth component, namely black. Color printers and color copy machines typically use three or four colorants, such as CMYK to produce the color image. The combination mix and density of the colorants produce a wide array of shades and colors.
While the three numerical values for digitized images could be provided by a color specification system, the color coding systems require faster processing. Several other systems have developed for image coding, including linear RGB, nonlinear R′G′B′, nonlinear CMY, nonlinear CMYK, and derivatives of nonlinear R′G′B′ such as Y′CBCR. RGB values can be transformed to and from the CIE XYZ values by a three-by-three matrix transform.
A scanner is used for converting print mediums such as pictures, artwork, documents, transparencies, and photographs into an electronic format. The scanner captures an image by measuring colors reflected from or transmitted through an image at many points and assigns numerical values to the colors at those points. Normally, the scanned image is represented as digital data, called pixels, in a Red-Green-Blue (RGB) representation. The pixels are arranged into a table of rows and columns, and contain information about the image such as the color information for a particular pixel defined as some formula of the primary colors R-G-B. Some scanners convert the RGB values to CMYK values.
The reproduction of color information from multiple devices and varying environments is a common occurrence in the industry. Colored works are transferred among variety of peripheral devices and the color information processing systems within the various systems seek to ensure the accuracy of the original work. For example, a computer with a color monitor can interact with a colored printer, a scanner, digital camera, color copy machine, color facsimile and various other devices. As the color data passes from one medium to another, digital processing attempts to maintain a visual match within the capabilities of the devices.
Advances in technology and computing means have made color reproduction systems available to the general public. Many desktop publishing systems employ hardware and software that are affordable to users that need to produce quality color work products. Unfortunately, the concept of ‘What you see is what you get’ is normally lacking, and it is not uncommon to see the desired image on the monitor but produce a print product that lacks the quality characteristics desired.
Colors produced by two different devices based on the same input will differ, in part because of distortion of the signals which occur due to nonlinear response characteristics of the electronics of the devices and the method of selecting a color within a device color gamut. An input signal representing a particular color provided to two different devices typically results in the devices producing two different colors. This is true even when the input signal represents a color within the color gamuts of both of devices.
In order to accomplish accurate color transfer, the individual devices employ color calibration techniques. Calibration is necessary to set the color response of the color reproduction devices. The process of deriving a transform by comparing the device output to some reference output and generating a lookup table is called system color calibration. A transform derived for a particular scanner-printer combination is referred to as a closed system and the process is called closed system color calibration.
The purpose of the calibration is to account for the color differences. The color differences actually refer to numerical differences between the color specifications and more specifically refers to the perception of color differences in XYZ or RGB. Perceptual uniformity concerns numerical differences that correspond to color differences at the threshold of perceptibility. A perceptually uniform system is one where a small change to a component value is equally perceptible across the entire range. XYZ and RGB systems are not perceptually uniform and are actually highly non-uniform. In order to transform XYZ into a uniform standard, two systems developed, L*u*v* and L*a*b*, also written CIELUV and CIELAB. L*u*v* and L*a*b* improve perceptual non-uniformity but require highly complex computations to accommodate real-time display.
In most cases, an initial factory calibration creates calibration tables that are used by the digital processing schemes to make the color reproduction devices conform to standards and to compensate for drift and other changes.
Various instruments and methods are used to calibrate devices for color reproduction, including densitometers and calorimeters. A densitometer measures the density of ink on a print patch in each of CMYK colorants. The densities are then compared to a scale of desired densities to produce calibration curves. The data from the calibration curves is used to correct the device so that it more closely resembles the scale data.
A calorimeter measures CIE values of color on a scale of printed patches in each of the CMYK print colorants. The measured CIE values are then compared with a corresponding scale of desired values to obtain calibration curves, which correct the device so that is more closely resembles the scale data.
In the field of desk top publishing, it is common to have a scanner device as part of the office equipment rather than a densitometer or colorimeter. It is therefore convenient to use the scanner to calibrate the printer. The state of the art describes using a scanner as a calibrating device, wherein the scanner scans a print target and measures the densities of ink deposited on the target. The system measures the densities or colorimetric values of the color samples generated by a printing device.
Although the scanner is more convenient that using the other calibration devices, the quality is usually lacking. Scanners operate on a linear sensitivity scale, not a logarithmic density scale. Based on scanner deficiencies, the tonal and spectral scanner outputs vary even when measuring the same colored object. Thus, not only would similar scanners produce different results, but the same scanner suffers from degradation of performance over time.
To accomplish calibration between a printer and scanner, a transform is used in a digital image processor that maps the color signals of the scanner to the printer color signals so that the color reproduction system reproduces the colors present of the original images. Often the transform is implemented by employing a three dimensional lookup table (LUT).
One method to calibrate a color reproduction system includes using the color scanner, a processor, and a color printer. This requires transforming the color space environments. A first color transform is used to convert the scanner color signals, such as RGB signals, into color signals in a device independent color space. The second transform is used to convert color signals from the device independent color space to printer color signals such as CMYK signals.
It is possible to combine the two transforms into one function implemented by the processor that directly converts scanner color signals into printer color signals. The transformations are typically implemented by storing calibration values in a three or four-dimensional LUT and using a linear interpolation method to interpolate between values in the lookup table.
A typical printer and scanner calibration involves printing a set of color patches on the printer, measuring the color patches using an optical instrument and using a mathematical method such as regression to derive the printer transform based on the measured data. The calibration continues by scanning a set of test patterns, measuring the test patterns using an optical instrument and employing a mathematical method such as regression to then derive the scanner transform.
There are ways to decrease the time required to calibrate, including using a smaller number of sample points. This creates a lookup table that is much smaller and easier to search during the mathematical manipulation, however the accuracy during interpolation is much lower.
Another prior art approach is to sample a cube in the printer color space. For example, an RGB cube in the printer color space may be uniformly sampled along the R, G and B axis to provide a discrete set of printer color coordinates which are stored in a computer. These color coordinates are provided to a printer that prints color patches corresponding to the specified color coordinates. The printed color patches are subsequently fed to a scanner and scanned to provide a set of scanner color coordinates that is a subset of the entire space of color coordinates of the scanner. Thus, a direct correspondence is obtained between the set of stored printer color coordinates and the set of scanned color coordinates.
The terms calibration, characterization and profiling are sometimes incorrectly used interchangeably. For purposes of this application, the terms are distinguished herein. Calibration refers to the process of deriving a transform by comparing a device output to some reference output and generating a lookup table. This is a device dependent process. Calibrating a device returns the device to some normalized, standard, and predictable state. Therefore, calibrating a monitor, a scanner or a printer alters the behavior of that device.
Profiling, also called characterizing or describing is really a description of the color capabilities of the device. Profiling measures the device properties and transforms the properties into some usable form as part of a color management system. Profiling does not change the behavior of that device as with calibration, but rather compliments the calibration. However, it does not preclude the need to calibrate individual devices to ensure that the process that created the characterization remains consistent.
Because some coloration inaccuracies are introduced when switching between different color spaces, and device profiling is useful to correct such inaccuracies. Device profiling measures the inaccuracies and corrects them in a device-independent color space (LAB). By working in the device independent LAB environment, improved color conversions between devices is possible.
To generate a profile, software is used to determine the device's full color range capabilities. The gamut of the device is determined by measuring the colorimetric values for a set of known color patches or targets. The measured data is then used to generate a custom profile for the device. The profiles are then applied to an image data to compensate for any transformation inaccuracies.
The International Color Consortium (ICC) created a standardized system for describing the color-rendering capabilities of any device. The ICC profile defines the gamut of the device, and a measure of the color distortion. The ICC profile actually has two components, the first element contains hardware data about the device, and the second element is the colorimetric device characterization data that defines the manner in which the device establishes color.
The profiles are used in conjunction with the other color-management engine and the application programs that use the profiles. The generic profiles provided by the manufacturer are often based on a perfectly calibrated device, and do not generally provide the accuracy required in modern systems. Therefore, custom profiles are utilized to enhance the factory profiles and provide more accurate color reproductions.
The purpose of profiling is to accurately define the reproducible and repeatable gamut of a device. This is accomplished by using a reference target on the device and measuring the device's reproduction values. Software is used to build a transform that maps scanner color space values to device independent color values. The transform is typically built by using a mathematical technique such as the least squares algorithm with the reference data and measured data.
A typical scanner profiling process involves scanning a reference target that has numerous color patches. IT8 is one such reference standard. Software is used to compare the color reference values that accompany the target with the measured values. The entire process is a comparison of reference data and measured data.
Some profiling packages only profile a scanner's raw color space while others create a corrective profile, wherein a scanner driver uses the ICC profiles of the device to incorporate the physical limitations of the device in the processing.
Printers are more difficult and time-consuming to profile because they do not emit light and require another device, properly calibrated, to measure the color data. The printer prints a target that contains the color patches. The printout is measured by a color measuring device, such as a spectrophotometer, and software uses the measured values to build a transform that maps device independent colors to the printer's color space. Various factors affect the printer color values, including paper stock, ink, temperature, and pressure, so other variable and calculations are required for processing.
The typical custom profile is produced by comparing measured color values against reference values. For example, a scanner profile is produced by scanning a color target, wherein the profiling application converts the scanned data into device independent values. The device independent values are compared to the CIE values for the reference target, and a custom profile is created to correct any deficiencies. The reference target is normally the industry-standard IT8 target that contains 264 color patches plus 24 shades of gray.
Printers are more difficult and time-consuming to profile because they do not emit light and require another device, properly calibrated, to measure the color data. The profiling software compares the measured data to the target values and produces the correction data. By comparing the measured colors with the color values, a custom profile is developed.
A color management system comprises interconnected devices such as a scanner, monitor, printer, and computer, with a software application that handles the color reproduction between the application and various color devices. The system interacts with the processing means and the memory means of the system to control the devices, process transformations, and store data. The software performs the color transformations to exchange accurate color between diverse devices, in various color coding systems including RGB, CMYK and CIEL*a*b*. In theory, the color management system evaluates capabilities of the system and devices and determines the appropriate color device and color space. However present systems have significant difficulties implementing such a system in a commercially feasible manner.
There have been various attempts at creating cost-effective and quality color calibration systems that address the aforementioned problems. One such system describes a closed loop system that calibrates a scanner to a printer. The calibration profile created by the system resides in the scan driver so the scanned images are pre-calibrated for the specified printer. The calibration profile is created by the following steps:    1. The scan driver creates an image with color patches.    2. This image is passed through the printer path until the color patches are printed.    3. These color patches are scanned by the scanner.    4. The system builds a profile that maps desired RGB values to RGB values that when printed will actually produce the desired RGB values.    5. This profile is then applied to all images scanned for the desired printer.
This calibration scheme has the disadvantage of forcing the user to work with images that are calibrated for a particular printer. For correct screen viewing the images must be translated from printer space to monitor space. Images that were-scanned for one printer will not work with another printer, as the data is device dependent. Even images scanned for the same printer will become incompatible if the paper type, ink type, or some other variable is changed.
There are additional problems with the system. The scanner is not profiled, and as known in the industry, quality results require that the scanner be properly profiled. Also, the color space of the printer is not RGB, and printers often have poor internal profiles that result in the printing of RGB images that look very poor on the screen.
The present invention is distinguishable because it profiles both the scanner and the printer individually and is not truly a closed loop system. The present system produces two profiles: a scanner profile and a printer profile. Both profiles translate to and from a device independent color space, thus images from the scanner are independent of any device that is attached to the printer and images that go to the printer are independent of the printer. Images from the scanner can be printed on many different printers and images from many sources can be printed on the printer.
Another system known in the art describes a closed loop system where the scanner output is mapped to a printer input. The primary difference is in the implementation details, but suffers from the same inherent problems as the other prior system. The steps of the this system include:    1. Determine the relationship between equal printer color signals and averaged scanner color signals.    2. Produce a set of color patches uniformly distributed in scanner color space on the printer.    3. Scan the patches with the scanner.    4. Produce a look-up table from printer to scanner.    5. Invert the look-up table to go from scanner to printer.
Another existing system uses a scanner and printer to calibrate the path from the scanner to the printer. It includes non-linear interpolation and gamut mapping techniques. As with the other prior systems, it does not solve the problem of accurately calibrating the scanner that would likely result in color reproduction problems.
A further color matching system known in the art uses a device independent color space to map colors from one device to another under different viewing conditions. Similar systems are common and supported by the industry standard ICC specification.
Another system that calibrates a printer by using the scanner as a densitometer is known in the art. The scanner is used as a densitomiter by scanning an image with known densities and building a look-up table that translates RGB values to density. Patches composed of separate inks at different levels are printed and measured by the scanner. These measurements are then used to calibrate the printer. This system does not actually characterize a printer but uses the scanner to return a printer to a known state so a pre-built table will function correctly—a calibration function.
In distinction, the system of the present invention uses the data from the scanner to actually build the types of tables that accurately reproduce the color values. A simultaneous scanning method is used, wherein the printed calibration image and the gray scale test strip are scanned simultaneously to overcome scan to scan error and to reduce the number of user steps in the calibration process. While the patches measured by the prior system can only be used to re-calibrate the devices, the present invention techniques can fully characterize the devices.
Yet a further system known in the art is a method of adjusting the calibrations of a scanner and a printer by scanning in calibration images and comparing the scanned data to previous data. In this known embodiment, the system first scans a calibration target with known color values, compares the scanned values with the known values and produces calibration data. Then it prints calibration patches, scans the patches, and compares the scanned patches to previously printed patches and produces calibration data. Finally, it combines the two sets of calibration data to produce data that calibrates both the printer and scanner. A difference between this system and the present invention is that the prior system compares calibration data when calibrating a printer. The present system produces a printer profile by understanding how the printer produces a particular color and then building a table that allows that color to be printed. The prior system also has no simultaneous scanning or compensation table.
There are some commercial products have tried to alleviate the aforementioned problems. One company displayed color calibration system that uses the combination of a color measurement device such as a spectrophotometer and a scanner to calibrate a printer. With this system, color patches were first printed with a printer. A very small number of the patches were then read with the measurement device and then the entire set of patches was read with the scanner. The patches that were read with the measurement device and the scanner was used to calibrate the scanner and the calibration of the scanner was then used to modify the entire patch set so that a printer calibration could be made. This system has the advantage of calibrating the scanner and printer with just one scan and also calibrating the scanner to the printer. However, the system also requires the use of an expensive measurement device and has the disadvantage of calibrating the scanner only to the printer, not with more common photographic materials or reflective works.
Providing efficient and accurate color reproduction remains a problem because of numerous difficulties described herein. What is needed is a practical and simple means to produce a printer profile. There should be a color reproduction system that provides reproduced colors that match the original colors. This system would provide color matching to be performed between a scanner and a printer without the use of expensive additional photometric equipment such as a spectrophotometer. The profiling results should be device independent so that the equipment can be substituted. The profiling should also be preformed in a single step to reduce the time required for profiling and to avoid any scanner-setting errors.